function [x] = nrLowPAPRGen(u,v,alpha,m)

end


function phi = getPhiType1(u,m)
    %   PHI = getPhiType1(U,M) provides the phase values, PHI, to be applied
    %   for generating the type 1 base sequence based on the group number U and
    %   the sequence length M, as stated in the TS 38.211 Section 5.2.2.
    
    % Get the table of phase values based on the length M
    if m == 6 % Table 5.2.2.2-1
        phiTable = [-3  -1   3   3  -1  -3; ...
                    -3   3  -1  -1   3  -3; ...
                    -3  -3  -3   3   1  -3; ...
                     1   1   1   3  -1  -3; ...
                     1   1   1  -3  -1   3; ...
                    -3   1  -1  -3  -3  -3; ...
                    -3   1   3  -3  -3  -3; ...
                    -3  -1   1  -3   1  -1; ...
                    -3  -1  -3   1  -3  -3; ...
                    -3  -3   1  -3   3  -3; ...
                    -3   1   3   1  -3  -3; ...
                    -3  -1  -3   1   1  -3; ...
                     1   1   3  -1  -3   3; ...
                     1   1   3   3  -1   3; ...
                     1   1   1  -3   3  -1; ...
                     1   1   1  -1   3  -3; ...
                    -3  -1  -1  -1   3  -1; ...
                    -3  -3  -1   1  -1  -3; ...
                    -3  -3  -3   1  -3  -1; ...
                    -3   1   1  -3  -1  -3; ...
                    -3   3  -3   1   1  -3; ...
                    -3   1  -3  -3  -3  -1; ...
                     1   1  -3   3   1   3; ...
                     1   1  -3  -3   1  -3; ...
                     1   1   3  -1   3   3; ...
                     1   1  -3   1   3   3; ...
                     1   1  -1  -1   3  -1; ...
                     1   1  -1   3  -1  -1; ...
                     1   1  -1   3  -3  -1; ...
                     1   1  -3   1  -1  -1];
    elseif m == 12 % Table 5.2.2.2-2
        phiTable = [-3   1  -3  -3  -3   3  -3  -1   1   1   1  -3; ...
                    -3   3   1  -3   1   3  -1  -1   1   3   3   3; ...
                    -3   3   3   1  -3   3  -1   1   3  -3   3  -3; ...
                    -3  -3  -1   3   3   3  -3   3  -3   1  -1  -3; ...
                    -3  -1  -1   1   3   1   1  -1   1  -1  -3   1; ...
                    -3  -3   3   1  -3  -3  -3  -1   3  -1   1   3; ...
                     1  -1   3  -1  -1  -1  -3  -1   1   1   1  -3; ...
                    -1  -3   3  -1  -3  -3  -3  -1   1  -1   1  -3; ...
                    -3  -1   3   1  -3  -1  -3   3   1   3   3   1; ...
                    -3  -1  -1  -3  -3  -1  -3   3   1   3  -1  -3; ...
                    -3   3  -3   3   3  -3  -1  -1   3   3   1  -3; ...
                    -3  -1  -3  -1  -1  -3   3   3  -1  -1   1  -3; ...
                    -3  -1   3  -3  -3  -1  -3   1  -1  -3   3   3; ...
                    -3   1  -1  -1   3   3  -3  -1  -1  -3  -1  -3; ...
                     1   3  -3   1   3   3   3   1  -1   1  -1   3; ...
                    -3   1   3  -1  -1  -3  -3  -1  -1   3   1  -3; ...
                    -1  -1  -1  -1   1  -3  -1   3   3  -1  -3   1; ...
                    -1   1   1  -1   1   3   3  -1  -1  -3   1  -3; ...
                    -3   1   3   3  -1  -1  -3   3   3  -3   3  -3; ...
                    -3  -3   3  -3  -1   3   3   3  -1  -3   1  -3; ...
                     3   1   3   1   3  -3  -1   1   3   1  -1  -3; ...
                    -3   3   1   3  -3   1   1   1   1   3  -3   3; ...
                    -3   3   3   3  -1  -3  -3  -1  -3   1   3  -3; ...
                     3  -1  -3   3  -3  -1   3   3   3  -3  -1  -3; ...
                    -3  -1   1  -3   1   3   3   3  -1  -3   3   3; ...
                    -3   3   1  -1   3   3  -3   1  -1   1  -1   1; ...
                    -1   1   3  -3   1  -1   1  -1  -1  -3   1  -1; ...
                    -3  -3   3   3   3  -3  -1   1  -3   3   1  -3; ...
                     1  -1   3   1   1  -1  -1  -1   1   3  -3   1; ...
                    -3   3  -3   3  -3  -3   3  -1  -1   1   3  -3];
    elseif m == 18 % Table 5.2.2.2-3
        phiTable = [-1   3  -1  -3   3   1  -3  -1   3  -3  -1  -1   1   1   1  -1  -1  -1; ...
                     3  -3   3  -1   1   3  -3  -1  -3  -3  -1  -3   3   1  -1   3  -3   3; ...
                    -3   3   1  -1  -1   3  -3  -1   1   1   1   1   1  -1   3  -1  -3  -1; ...
                    -3  -3   3   3   3   1  -3   1   3   3   1  -3  -3   3  -1  -3  -1   1; ...
                     1   1  -1  -1  -3  -1   1  -3  -3  -3   1  -3  -1  -1   1  -1   3   1; ...
                     3  -3   1   1   3  -1   1  -1  -1  -3   1   1  -1   3   3  -3   3  -1; ...
                    -3   3  -1   1   3   1  -3  -1   1   1  -3   1   3   3  -1  -3  -3  -3; ...
                     1   1  -3   3   3   1   3  -3   3  -1   1   1  -1   1  -3  -3  -1   3; ...
                    -3   1  -3  -3   1  -3  -3   3   1  -3  -1  -3  -3  -3  -1   1   1   3; ...
                     3  -1   3   1  -3  -3  -1   1  -3  -3   3   3   3   1   3  -3   3  -3; ...
                    -3  -3  -3   1  -3   3   1   1   3  -3  -3   1   3  -1   3  -3  -3   3; ...
                    -3  -3   3   3   3  -1  -1  -3  -1  -1  -1   3   1  -3  -3  -1   3  -1; ...
                    -3  -1  -3  -3   1   1  -1  -3  -1  -3  -1  -1   3   3  -1   3   1   3; ...
                     1   1  -3  -3  -3  -3   1   3  -3   3   3   1  -3  -1   3  -1  -3   1; ...
                    -3   3  -1  -3  -1  -3   1   1  -3  -3  -1  -1   3  -3   1   3   1   1; ...
                     3   1  -3   1  -3   3   3  -1  -3  -3  -1  -3  -3   3  -3  -1   1   3; ...
                    -3  -1  -3  -1  -3   1   3  -3  -1   3   3   3   1  -1  -3   3  -1  -3; ...
                    -3  -1   3   3  -1   3  -1  -3  -1   1  -1  -3  -1  -1  -1   3   3   1; ...
                    -3   1  -3  -1  -1   3   1  -3  -3  -3  -1  -3  -3   1   1   1  -1  -1; ...
                     3   3   3  -3  -1  -3  -1   3  -1   1  -1  -3   1  -3  -3  -1   3   3; ...
                    -3   1   1  -3   1   1   3  -3  -1  -3  -1   3  -3   3  -1  -1  -1  -3; ...
                     1  -3  -1  -3   3   3  -1  -3   1  -3  -3  -1  -3  -1   1   3   3   3; ...
                    -3  -3   1  -1  -1   1   1  -3  -1   3   3   3   3  -1   3   1   3   1; ...
                     3  -1  -3   1  -3  -3  -3   3   3  -1   1  -3  -1   3   1   1   3   3; ...
                     3  -1  -1   1  -3  -1  -3  -1  -3  -3  -1  -3   1   1   1  -3  -3   3; ...
                    -3  -3   1  -3   3   3   3  -1   3   1   1  -3  -3  -3   3  -3  -1  -1; ...
                    -3  -1  -1  -3   1  -3   3  -1  -1  -3   3   3  -3  -1   3  -1  -1  -1; ...
                    -3  -3   3   3  -3   1   3  -1  -3   1  -1  -3   3  -3  -1  -1  -1   3; ...
                    -1  -3   1  -3  -3  -3   1   1   3   3  -3   3   3  -3  -1   3  -3   1; ...
                    -3   3   1  -1  -1  -1  -1   1  -1   3   3  -3  -1   1   3  -1   3  -1];
    else % m is equal to 24. Table 5.2.2.2-4
        phiTable = [-1  -3   3  -1   3   1   3  -1   1  -3  -1  -3  -1   1   3  -3  -1  -3   3   3   3  -3  -3  -3; ...
                    -1  -3   3   1   1  -3   1  -3  -3   1  -3  -1  -1   3  -3   3   3   3  -3   1   3   3  -3  -3; ...
                    -1  -3  -3   1  -1  -1  -3   1   3  -1  -3  -1  -1  -3   1   1   3   1  -3  -1  -1   3  -3  -3; ...
                     1  -3   3  -1  -3  -1   3   3   1  -1   1   1   3  -3  -1  -3  -3  -3  -1   3  -3  -1  -3  -3; ...
                    -1   3  -3  -3  -1   3  -1  -1   1   3   1   3  -1  -1  -3   1   3   1  -1  -3   1  -1  -3  -3; ...
                    -3  -1   1  -3  -3   1   1  -3   3  -1  -1  -3   1   3   1  -1  -3  -1  -3   1  -3  -3  -3  -3; ...
                    -3   3   1   3  -1   1  -3   1  -3   1  -1  -3  -1  -3  -3  -3  -3  -1  -1  -1   1   1  -3  -3; ...
                    -3   1   3  -1   1  -1   3  -3   3  -1  -3  -1  -3   3  -1  -1  -1  -3  -1  -1  -3   3   3  -3; ...
                    -3   1  -3   3  -1  -1  -1  -3   3   1  -1  -3  -1   1   3  -1   1  -1   1  -3  -3  -3  -3  -3; ...
                     1   1  -1  -3  -1   1   1  -3   1  -1   1  -3   3  -3  -3   3  -1  -3   1   3  -3   1  -3  -3; ...
                    -3  -3  -3  -1   3  -3   3   1   3   1  -3  -1  -1  -3   1   1   3   1  -1  -3   3   1   3  -3; ...
                    -3   3  -1   3   1  -1  -1  -1   3   3   1   1   1   3   3   1  -3  -3  -1   1  -3   1   3  -3; ...
                     3  -3   3  -1  -3   1   3   1  -1  -1  -3  -1   3  -3   3  -1  -1   3   3  -3  -3   3  -3  -3; ...
                    -3   3  -1   3  -1   3   3   1   1  -3   1   3  -3   3  -3  -3  -1   1   3  -3  -1  -1  -3  -3; ...
                    -3   1  -3  -1  -1   3   1   3  -3   1  -1   3   3  -1  -3   3  -3  -1  -1  -3  -3  -3   3  -3; ...
                    -3  -1  -1  -3   1  -3  -3  -1  -1   3  -1   1  -1   3   1  -3  -1   3   1   1  -1  -1  -3  -3; ...
                    -3  -3   1  -1   3   3  -3  -1   1  -1  -1   1   1  -1  -1   3  -3   1  -3   1  -1  -1  -1  -3; ...
                     3  -1   3  -1   1  -3   1   1  -3  -3   3  -3  -1  -1  -1  -1  -1  -3  -3  -1   1   1  -3  -3; ...
                    -3   1  -3   1  -3  -3   1  -3   1  -3  -3  -3  -3  -3   1  -3  -3   1   1  -3   1   1  -3  -3; ...
                    -3  -3   3   3   1  -1  -1  -1   1  -3  -1   1  -1   3  -3  -1  -3  -1  -1   1  -3   3  -1  -3; ...
                    -3  -3  -1  -1  -1  -3   1  -1  -3  -1   3  -3   1  -3   3  -3   3   3   1  -1  -1   1  -3  -3; ...
                     3  -1   1  -1   3  -3   1   1   3  -1  -3   3   1  -3   3  -1  -1  -1  -1   1  -3  -3  -3  -3; ...
                    -3   1  -3   3  -3   1  -3   3   1  -1  -3  -1  -3  -3  -3  -3   1   3  -1   1   3   3   3  -3; ...
                    -3  -1   1  -3  -1  -1   1   1   1   3   3  -1   1  -1   1  -1  -1  -3  -3  -3   3   1  -1  -3; ...
                    -3   3  -1  -3  -1  -1  -1   3  -1  -1   3  -3  -1   3  -3   3  -3  -1   3   1   1  -1  -3  -3; ...
                    -3   1  -1  -3  -3  -1   1  -3  -1  -3   1   1  -1   1   1   3   3   3  -1   1  -1   1  -1  -3; ...
                    -1   3  -1  -1   3   3  -1  -1  -1   3  -1  -3   1   3   1   1  -3  -3  -3  -1  -3  -1  -3  -3; ...
                     3  -3  -3  -1   3   3  -3  -1   3   1   1   1   3  -1   3  -3  -1   3  -1   3   1  -1  -3  -3; ...
                    -3   1  -3   1  -3   1   1   3   1  -3  -3  -1   1   3  -1  -3   3   1  -1  -3  -3  -3  -3  -3; ...
                     3  -3  -1   1   3  -1  -1  -3  -1   3  -1  -3  -1  -3   3  -1   3   1   1  -3   3  -3  -3  -3];
    end

    % Get the phase values specific to group number u from the table of
    % phase values
    phi = phiTable(u+1,:)';

end
    
